@echo off
chcp 65001 >nul
title AI虚拟主播系统 - 一键启动

REM Set color
color 0A

echo.
echo ======================================================================
echo                   AI虚拟主播系统 - 一键启动
echo ======================================================================
echo.
echo 系统配置:
echo   TTS Engine: ChatTTS 0.2.4 (GPU Accelerated)
echo   AI Model: DeepSeek Chat
echo   Live2D: Hiyori Model
echo   B站直播间: 22870
echo.
echo ======================================================================
echo.

REM Change to script directory
cd /d "%~dp0"

REM ========================================================================
REM Step 1: Try to activate Anaconda environment
REM ========================================================================
echo [1/4] 检测 Anaconda 环境...

if exist "D:\anaconda\Scripts\activate.bat" (
    echo   找到 Anaconda: D:\anaconda
    echo   正在激活环境...
    call D:\anaconda\Scripts\activate.bat D:\anaconda
    if errorlevel 1 (
        echo   ⚠ Anaconda 激活失败，使用系统 Python
    ) else (
        echo   ✓ Anaconda 环境已激活
    )
) else if exist "C:\ProgramData\Anaconda3\Scripts\activate.bat" (
    echo   找到 Anaconda: C:\ProgramData\Anaconda3
    echo   正在激活环境...
    call C:\ProgramData\Anaconda3\Scripts\activate.bat C:\ProgramData\Anaconda3
    if errorlevel 1 (
        echo   ⚠ Anaconda 激活失败，使用系统 Python
    ) else (
        echo   ✓ Anaconda 环境已激活
    )
) else if exist "%USERPROFILE%\anaconda3\Scripts\activate.bat" (
    echo   找到 Anaconda: %USERPROFILE%\anaconda3
    echo   正在激活环境...
    call "%USERPROFILE%\anaconda3\Scripts\activate.bat" "%USERPROFILE%\anaconda3"
    if errorlevel 1 (
        echo   ⚠ Anaconda 激活失败，使用系统 Python
    ) else (
        echo   ✓ Anaconda 环境已激活
    )
) else (
    echo   未检测到 Anaconda，使用系统 Python
)
echo.

REM ========================================================================
REM Step 2: Verify Python
REM ========================================================================
echo [2/4] 验证 Python 环境...

python --version >nul 2>&1
if errorlevel 1 (
    echo   ✗ 错误: Python 未安装或未添加到 PATH
    echo.
    echo   请安装 Python 3.9+ 并确保添加到系统 PATH
    echo   下载地址: https://www.python.org/downloads/
    echo.
    pause
    exit /b 1
)

REM Display Python version
echo   Python 版本:
for /f "tokens=*" %%i in ('python --version 2^>^&1') do echo     %%i
echo   ✓ Python 环境正常
echo.

REM ========================================================================
REM Step 3: Check ChatTTS version
REM ========================================================================
echo [3/4] 检查 ChatTTS 版本...

python -c "import ChatTTS" >nul 2>&1
if errorlevel 1 (
    echo   ⚠ ChatTTS 未安装
    echo   正在安装 ChatTTS 0.2.4...
    echo.
    pip install ChatTTS==0.2.4 -i https://pypi.tuna.tsinghua.edu.cn/simple
    if errorlevel 1 (
        echo   ✗ ChatTTS 安装失败
        echo   请手动运行: install_chattts.bat
        pause
        exit /b 1
    )
    echo   ✓ ChatTTS 0.2.4 安装成功
) else (
    echo   ✓ ChatTTS 已安装
)
echo.

REM ========================================================================
REM Step 4: Check dependencies
REM ========================================================================
echo [4/4] 检查项目依赖...

python -c "import yaml; import torch; import pydub" >nul 2>&1
if errorlevel 1 (
    echo   ⚠ 部分依赖缺失
    echo   正在安装依赖...
    echo.
    pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
    if errorlevel 1 (
        echo   ✗ 依赖安装失败
        echo   请检查 requirements.txt 文件
        pause
        exit /b 1
    )
    echo   ✓ 依赖安装完成
) else (
    echo   ✓ 依赖检查通过
)
echo.

REM ========================================================================
REM Step 5: Check configuration
REM ========================================================================
echo [检查] 配置文件...

if not exist "config\config.yaml" (
    echo   ✗ 配置文件不存在: config\config.yaml
    pause
    exit /b 1
)
echo   ✓ 配置文件正常
echo.

REM ========================================================================
REM Launch System
REM ========================================================================
echo ======================================================================
echo                      启动 AI 虚拟主播系统
echo ======================================================================
echo.
echo 提示:
echo   - 系统将自动连接 B站直播间 22870
echo   - ChatTTS 0.2.4 已启用 GPU 加速
echo   - Live2D 页面将自动在浏览器打开
echo   - HTTP 服务器: http://localhost:8000
echo   - WebSocket 服务器: ws://localhost:8765
echo   - 按 Ctrl+C 停止系统
echo.
echo 正在启动...
echo.

REM Run start_all.py (它会自动启动HTTP服务器和主程序)
python start_all.py

REM Check exit status
if errorlevel 1 (
    echo.
    echo ======================================================================
    echo                         启动失败
    echo ======================================================================
    echo.
    echo 可能的原因:
    echo   1. 端口被占用 (8000 或 8765)
    echo   2. API 密钥配置错误
    echo   3. 依赖未完全安装
    echo   4. Live2D 模型文件缺失
    echo.
    echo 建议:
    echo   - 检查日志: logs\ai_vtuber.log
    echo   - 运行测试: python test_system.py
    echo   - 查看文档: README.md
    echo.
    pause
    exit /b 1
) else (
    echo.
    echo ======================================================================
    echo                      系统已正常退出
    echo ======================================================================
    echo.
)

pause
